home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.xml;
-
- import java.util.Enumeration;
-
- public class XSDLWriter$ElemProxy extends XSDLWriter.DeclProxy {
- // $FF: synthetic field
- final XSDLWriter this$0;
- ElementDeclaration decl;
- XSDLWriter.AttrProxy attrProxy;
-
- XSDLWriter$ElemProxy(XSDLWriter var1) {
- super(var1);
- this.this$0 = var1;
- this.attrProxy = new XSDLWriter.AttrProxy(this.this$0);
- }
-
- XSDLWriter$ElemProxy(XSDLWriter var1, ElementDeclaration var2) {
- super(var1);
- this.this$0 = var1;
- this.attrProxy = new XSDLWriter.AttrProxy(this.this$0);
- this.setDecl(var2);
- }
-
- void setDecl(ElementDeclaration var1) {
- this.decl = var1;
- super.setDecl(var1);
- }
-
- public void write(SXE var1, boolean var2) {
- var1.writeElem("element");
- var1.writeAttr("name", this.decl.getName());
- ContentModel var3 = this.decl.getEffectiveModel();
- Enumeration var4 = this.decl.getAttributes(false);
- boolean var5 = var4.hasMoreElements();
- if (var3.isTextOnly() && !var5) {
- XSDLWriter.access$2000171(this.this$0, var1, this.decl, this.decl.getDataType());
- }
-
- if (!var3.isTextOnly() || var5) {
- var1.writeElem("complexType", -1);
- if (var3.isTextOnly() && this.decl.getDataType() != null) {
- String var6 = this.this$0.schema.getDataTypeSource(this.decl.getDataType());
- var1.writeAttr("base", var6);
- }
- }
-
- if (var3.isEmpty()) {
- var1.writeAttr("content", "empty");
- } else if (var3.isMixed()) {
- var1.writeAttr("content", "mixed");
- } else if (var3.isTextOnly()) {
- if (var5) {
- var1.writeAttr("content", "textOnly");
- }
- } else if (var3.isTagsOnly()) {
- var1.writeAttr("content", "elementOnly");
- }
-
- if (var2) {
- ((XSDLWriter.DeclProxy)this).writeComments(var1);
- }
-
- if (var3.isMixed()) {
- ContentModelTermEnum var8 = ((ContentModelTerm)var3).getLeafTerms();
-
- while(var8.hasMoreElements()) {
- ContentModelTerm var7 = (ContentModelTerm)var8.nextElement();
- if (var7.isTermReference()) {
- var1.writeElem("element", true);
- XSDLWriter.access$2000271(this.this$0, var1, var7.getTerm(), var7.getLocalTag());
- } else if (var7.isPCDATATerm()) {
- }
- }
- } else if (var3.isTagsOnly()) {
- this.this$0.writeModel(var1, var3, false);
- }
-
- this.this$0.writeAttrGroup(var1, this.decl.getAttributes(false), this.attrProxy, var2);
- if (!var3.isTextOnly() || var5) {
- var1.flush("complexType");
- }
-
- var1.flush("element");
- }
- }
-